import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IDelegatePrx } from "./IDelegatePrx";
import { AMI_IDelegate_canDelegate } from "./AMI_IDelegate_canDelegate";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IDelegate_canSweepUp } from "./AMI_IDelegate_canSweepUp";
import { AMI_IDelegate_cleanDelegateBag } from "./AMI_IDelegate_cleanDelegateBag";
import { AMI_IDelegate_dramaDelegate } from "./AMI_IDelegate_dramaDelegate";
import { AMI_IDelegate_getDelegateBagItems } from "./AMI_IDelegate_getDelegateBagItems";
import { AMI_IDelegate_myDelegate } from "./AMI_IDelegate_myDelegate";
import { AMI_IDelegate_startDelegate } from "./AMI_IDelegate_startDelegate";
import { AMI_IDelegate_sweepUp } from "./AMI_IDelegate_sweepUp";
type int = number;
//class IDelegatePrxHelper
    
    export  class IDelegatePrxHelper extends RMIProxyObject implements IDelegatePrx
    {
        constructor()
        {
            
            super();name = "IDelegate";
            return;
        }

        public canDelegate_async(arg1: AMI_IDelegate_canDelegate): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("canDelegate");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public canSweepUp_async(arg1: AMI_IDelegate_canSweepUp): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("canSweepUp");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public cleanDelegateBag_async(arg1: AMI_IDelegate_cleanDelegateBag): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("cleanDelegateBag");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public dramaDelegate_async(arg1: AMI_IDelegate_dramaDelegate, arg2: int, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("dramaDelegate");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getDelegateBagItems_async(arg1: AMI_IDelegate_getDelegateBagItems, arg2: string, arg3: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getDelegateBagItems");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeBool(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public myDelegate_async(arg1: AMI_IDelegate_myDelegate): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("myDelegate");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public startDelegate_async(arg1: AMI_IDelegate_startDelegate, arg2: int, arg3: int, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("startDelegate");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sweepUp_async(arg1: AMI_IDelegate_sweepUp, arg2: int, arg3: Boolean, arg4: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sweepUp");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeBool(arg3);
            loc3.writeInt(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IDelegate";
    }
